import axios from './axios.js';

export default {
    namespaced:true,
    state: {
        username: ''
    },
    actions:{
        /**
         * 用户待办列表
         * @param commit
         * @param state
         * @param params 请求参数
         * @return {Promise<*[e, data]>} e错误信息，data数据
         */
        async appTodoApi({commit, state}, params) {
            try {
                let {data} = await axios.get('/api/message/app_todo/list',{params});
                return [null, data]
            } catch (e) {
                return [e, null]
            }
        }, 
		/**
         * 查询案件类型
         * @param commit
         * @param state
         * @param params 请求参数
         * @return {Promise<*[e, data]>} e错误信息，data数据
         */
        async noticeCountApi({commit, state}, params) {
            try {
                let {data} = await axios.get('/api/message/app_notice/count',{params});
                return [null, data]
            } catch (e) {
                return [e, null]
            }
        },
		 /**
         * 消息列表分页
         * @param commit
         * @param state
         * @param params 请求参数
         * @return {Promise<*[e, data]>} e错误信息，data数据
         */
        async noticeListApi({commit, state}, params) {
            try {
                let {data} = await axios.post('/api/message/app_notice/list',params);
                return [null, data]
            } catch (e) {
                return [e, null]
            }
        },
		/**
		 * 消息列表分页
		 * @param commit
		 * @param state
		 * @param params 请求参数
		 * @return {Promise<*[e, data]>} e错误信息，data数据
		 */
		async noticeViewApi({commit, state}, params) {
		    try {
		        let {data} = await axios.put(`/api/message/app_notice/view/${params.id}`,params);
		        return [null, data]
		    } catch (e) {
		        return [e, null]
		    }
		},
		/**
		 * 阅读消息
		 * @param commit
		 * @param state
		 * @param params 请求参数
		 * @return {Promise<*[e, data]>} e错误信息，data数据
		 */
		async readViewApi({commit, state}, params) {
		    try {
		        let {data} = await axios.post('/api/message/app_notice/view',params);
		        return [null, data]
		    } catch (e) {
		        return [e, null]
		    }
		},
		/**
		 * 新增投诉
		 * @param commit
		 * @param state
		 * @param params 请求参数
		 * @return {Promise<*[e, data]>} e错误信息，data数据
		 */
		async initViewApi({commit, state}, params) {
		    try {
		        let {data} = await axios.post('/api/im/app_complaint/init',params);
		        return [null, data]
		    } catch (e) {
		        return [e, null]
		    }
		},
		/**
		 * 投诉列表
		 * @param commit
		 * @param state
		 * @param params 请求参数
		 * @return {Promise<*[e, data]>} e错误信息，data数据
		 */
		async listCompApi({commit, state}, params) {
		    try {
		        let {data} = await axios.get('/api/im/app_complaint/list',{params});
		        return [null, data]
		    } catch (e) {
		        return [e, null]
		    }
		},
		/**
		 * 投诉建议详情
		 * @param commit
		 * @param state
		 * @param params 请求参数
		 * @return {Promise<*[e, data]>} e错误信息，data数据
		 */
		async detailCompApi({commit, state}, params) {
		    try {
		        let {data} = await axios.get('/api/im/pc_complaint/detail',{params});
		        return [null, data]
		    } catch (e) {
		        return [e, null]
		    }
		},
		
		/**
		 * 分配客服
		 * @param commit
		 * @param state
		 * @param params 请求参数
		 * @return {Promise<*[e, data]>} e错误信息，data数据
		 */
		async findServerApi({commit, state}, params) {
		    try {
		        let {data} = await axios.get('/api/im/im_pc/find_server',{params});
		        return [null, data]
		    } catch (e) {
		        return [e, null]
		    }
		},
	}
}